From: awilliam@xenbuild.aw Date: Thu, 18 May 2006 20:05:30 +0000 (-0600) Subject: [IA64] panic when ioremap hypercall fails. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~16054 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success//%22http:/www.example.com/cgi/success/?a=commitdiff_plain;h=d05aa5ad74eb89c9ae6d0b2d285e5116d8bbcd3a;p=xen.git [IA64] panic when ioremap hypercall fails. This can occur when dom0 vp model xenlinux is used on P=M model xen/ia64. Signed-off-by: Isaku Yamahata --- diff --git a/linux-2.6-xen-sparse/include/asm-ia64/hypercall.h b/linux-2.6-xen-sparse/include/asm-ia64/hypercall.h index 368081e523..c2b779bfea 100644 --- a/linux-2.6-xen-sparse/include/asm-ia64/hypercall.h +++ b/linux-2.6-xen-sparse/include/asm-ia64/hypercall.h @@ -318,6 +318,7 @@ static inline void exit_idle(void) {} #define do_IRQ(irq, regs) __do_IRQ((irq), (regs)) #ifdef CONFIG_XEN_IA64_DOM0_VP +#include #include #define _hypercall_imm1(type, name, imm, a1) \ @@ -419,6 +420,10 @@ HYPERVISOR_ioremap(unsigned long ioaddr, unsigned long size) unsigned long ret = ioaddr; if (running_on_xen) { ret = __HYPERVISOR_ioremap(ioaddr, size); + if (unlikely(IS_ERR_VALUE(ret))) + panic("hypercall %s failed with %ld. " + "Please check Xen and Linux config mismatch\n", + __func__, -ret); } return ret; }